package com.shujia.scala

object Demo10Tuple {
  def main(args: Array[String]): Unit = {
    /**
     * 元组Tuple：不可变，在Scala中最大的Tuple长度为22
     * 没有可变，不可变之分
     *
     * 二元组经常用于Map的构建
     */

    // 元组的定义
    val t2: (String, Int) = Tuple2[String, Int]("abc", 20)
    val tt2: (String, Int) = Tuple2("abc", 20)
    val ttt2 = Tuple2("abc", 20)
    val tttt2 = ("abc", 20) // 最简定义，注意：如果只有一个元素时，不能用该方式

    val t1 = Tuple1("abc")

    val t5: (Int, Int, Int, Int, Int) = (1, 2, 3, 4, 5)

    //    val list01: List[(Int, Int, Int, Int, Int)] = List(t5)
    //    list01.map()

    // 二元组常见的操作：没有操作
    // 只有取值操作，通过 ”_标号“ 可以提取对应位置上的值，默认是从”_1“开始
    println(t2._1)
    println(t2._2)

    println(tttt2._1)
    println(tttt2._2)

    println(t1._1)

    println(t5._1)
    println(t5._2)
    println(t5._3)
    println(t5._4)
    println(t5._5)

  }

}
